/**
 * @filename WeChatWebToken
 *
 * @module WeChatWebToken
 *
 * @author Justin <zhou78620051@126.com>
 * @version 1
 * @time 2015/10/16 13:29
 */

module.exports = {
  attributes: {
    /**
     * 用户ID
     *
     * @for WeChatWebToken
     * @property userid
     * @type string
     */
    "userid": {
      "type": "string",
      "primaryKey": true,
      "required": true
    },

    /**
     * 访问access_token
     *
     * @for WeChatWebToken
     * @property access_token
     * @type string
     */
    "access_token": {
      "type": "string",
      "required": true
    },
    /**
     * access_token有效期
     *
     * @for WeChatWebToken
     * @property integer
     * @type string
     */
    "expires_in": {
      "type": "integer",
      "default": 7200
    },
    /**
     * refresh_token 用于刷新access_token
     *
     * @for WeChatWebToken
     * @property refresh_token
     * @type string
     */
    "refresh_token": {
      "type": "string",
      "required": true
    },
    /**
     * openid 微信平台针对指定app标记用户用的唯一id
     *
     * @for WeChatWebToken
     * @property openid
     * @type string
     */
    "openid": {
      "type": "string",
      "required": true
    },
    /**
     * 用户授权的作用域
     *
     * @for WeChatWebToken
     * @property scope
     * @type string
     */
    "scope": {
      "type": "string",
      "required": true
    },
    /**
     * 微信对应的唯一ID, 改ID不随app变化, 就是说多款app公用改ID
     *
     * 只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段
     *
     * @for WeChatWebToken
     * @property unionid
     * @type string
     */
    "unionid": {
      "type": "string",
      "defaultsTo": ""
    },
    /**
     * access_token更新时间
     *
     * @for WeChatWebToken
     * @property token_timestamp
     * @type integer
     */
    "token_timestamp": {
      type: "integer",
      "required": true
    },

    /**
     * 用户昵称
     *
     * @for WeChatWebToken
     * @property nickname
     * @type string
     */
    "nickname": {
      "type": "string",
      "defaultsTo": ""
    },
    /**
     * 用户的性别，值为1时是男性，值为2时是女性，值为0时是未知
     *
     * @for WeChatWebToken
     * @property sex
     * @type string
     */
    "sex": {
      "type": "string",
      "enum": ["1", "2", "0"],
      "defaultsTo": "0"
    },
    /**
     * 用户个人资料填写的省份
     *
     * @for WeChatWebToken
     * @property province
     * @type string
     */
    "province": {
      "type": "string",
      "defaultsTo": ""
    },
    /**
     * 用户个人资料填写的城市
     *
     * @for WeChatWebToken
     * @property city
     * @type string
     */
    "city": {
      "type": "string",
      "defaultsTo": ""
    },
    /**
     * 国家，如中国为CN
     *
     * @for WeChatWebToken
     * @property country
     * @type string
     */
    "country": {
      "type": "string",
      "defaultsTo": ""
    },
    /**
     * 用户头像
     *
     * 最后一个数值代表正方形头像大小
     * （有0、46、64、96、132数值可选，0代表640*640正方形头像），
     * 用户没有头像时该项为空。若用户更换头像，原有头像URL将失效。
     *
     * @for WeChatWebToken
     * @property headimgurl
     * @type string
     */
    "headimgurl": {
      "type": "string",
      "defaultsTo": ""
    },
    /**
     * 用户特权信息，json 数组，如微信沃卡用户为（chinaunicom）
     *
     * @for WeChatWebToken
     * @property unionid
     * @type object
     */
    "privilege": {
      "type": "array",
      "defaultsTo": []
    },
    /**
     * 用户信息的缓存开始时间
     *
     * @for WeChatWebToken
     * @property info_timestamp
     * @type number
     */
    "info_timestamp": {
      "type": "integer"
    }
  }
};
